#先读入文本信息
with open('pi_digits.txt' ,'r+', encoding='utf_8') as file:
    contents = file.read()
    print(contents.rstrip())
#再写入文本信息
with open('write_in.txt' ,'a+', encoding='utf_8') as wfile:
   wfile.write(contents)



'''read_csv函数有很多的参数，下面对一些重点参数进行介绍:'''

# filepath_or_buffer: 表示文件的系统位置、URL、文件型对象的字符串。
# sep：用于对行中各字段进行拆分的字符序列或正则表达式。
# header：用作列名的行号。默认为0（第一行），如果文件没有标题行就将header参数设置为None。
# names：用于结果的列名列表，结合header=None，可以通过names来设置标题行。
# index_col：用作行索引的列编号或列名。可以是单个名称/数字或有多个名称/数字组成的列表（层次化索引）。
# skiprows：需要忽略的行数（从0开始），设置的行数将不会进行读取。
# na_values：设置需要将值替换成NA的值。
# nrows：需要读取的行数。
# encoding：用于unicode的文本编码格式。例如，"utf-8"或"gbk"等文本的编码格式。

import pandas as pd
# pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)*

zhidingyi_data = pd.read_csv('Node_txt',header=0,nrows=3) #未设置标题行names
#可以看到，pandas.read_csv函数默认分隔符sep为逗号，当没有设置标题header时用names可以设置标题，
# 默认文本中第一行（ name math english chinese computerscience）为标题，即header。
print(zhidingyi_data)


'''当然我们也可以手动设置标题，这时需要设置names参数。
例如：键入代码：'''
print('\n')

# data2 = pd.read_csv('Node_txt', names= ['a', 'b', 'c', 'd', 'e'])
# print(data2)


'''但当我们读取无标题文件时，或者将文本中第一行也作为数据读入时，这时应该设置header参数为None'''
# data3 = pd.read_csv('Node_txt', header=None )
# print(data3)

'''当我们想要左侧索引（0，1，2，3，4…）变换成其他的列索引（如：姓名），可以使用index_col参数来实现。键入代码：'''
# 设置列索引
# data3 = pd.read_csv('Node_txt', names=['a', 'b', 'c', 'd', 'e'],   index_col='a')
# print(data3)


'''有的时候，你会遇到表格中的某些行数据你并不需要。可以通过skiprows参数来跳过这些行。
键入代码：原本xiaowang这一行就跳过不在读取了。'''
# data4  = pd.read_csv('Node_txt', skiprows=[2])
# print(data4)

'''将数据写入文件 DataFrame.to_csv函数有很多的参数，下面对一些重点参数进行介绍:'''
# DataFrame.to_csv(path_or_buf=None, sep=’, ’, na_rep=”, float_format=None, header=True,mode=’w’, encoding=None,date_format=None)
# path_or_buf: 文件保存的路径
# sep： 使用分隔符来分割保存的数据
# na_repna_rep： 将缺少的值保存为NA
# float_format: 设置保存数据的格式，例如：float_format=’%.2f’ ，将数据保存为浮点型小数点后两位。
# header: 是否保存列名

# 要输出的文本名.to_csv    保存的文件名字
zhidingyi_data.to_csv( 'data.csv' , header=0 )






